#ifndef _COMMON_H_
#define _COMMON_H_

#include <string>
#include <TCHAR.H>

#define ALWAYS true

#ifdef _UNICODE
	#define DEFAULT_ERRORHANDLER_CONFIGURATION_FILENAME L"ErrorHandler.ini"

	#define _S(x) L ## x

	#define _WFILE2_(x) L ## x
	#define _WFILE_(x) _WFILE2_(x)
	#define _FILE_ _WFILE_(__FILE__)

	typedef std::wstring lvString, *lplvString;
	typedef wchar_t lvChar; 
#else
	#define DEFAULT_ERRORHANDLER_CONFIGURATION_FILENAME "ErrorHandler.ini"

	#define _S

	typedef std::string	lvString, *lplvString;
	typedef char lvChar;
#endif

#ifdef _WIN64
#else
	typedef long			lvInt,		*lplvInt;
	typedef unsigned long	lvUInt,		*lplvUint;
	typedef float			lvFloat,	*lplvFloat;
#endif

typedef long				lvInt32,	*lplvInt32;
typedef unsigned long		lvUInt32,	*lplvUInt32,	lvDword,	*lplvDword;
typedef short				lvInt16,	*lplvInt16;
typedef unsigned short		lvUInt16,	*lplvUInt16,	lvWord,		*lplvWord;
typedef void				lvVoid,		*lplvVoid;
typedef float				lvFloat32,	*lplvFloat32;
typedef double				lvFloat64,	*lplvFloat64;

typedef char				lvInt8,		*lplvInt8;
typedef unsigned char		lvUInt8,	*lplvUInt8,		lvByte,		*lplvByte;

typedef bool				lvBool;

#endif